package com.wnxy.sdd.config;

import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

// 配置类
@Configuration
// 读取解析yml配置文件，填充到OssProperties对象中,且OssProperties对象会放入ioc容器
@EnableConfigurationProperties({OssProperties.class})
public class OssAutoConfiguration {

    /**
     * @Bean
     * 1、修饰方法，自动把方法返回的对象加入ioc容器，加入容器的bean名称默认是方法名称
     * 2、也可以通过name属性指定加入ioc容器的对象名称
     * 3、方法参数
     *    自动去容器中找OssProperties类型的对象注入
     *    如果这个类型的对象有多个，会根据参数名称（ossProperties）找这个名称对应的bean注入到方法参数中
     *    如果是根据指定名称来注入，可以使用@Qualifier注解
     */
    @Bean
    public OssTemplate ossTemplate(OssProperties ossProperties)  {
        OssTemplate ossTemplate = new OssTemplate(ossProperties);
        return ossTemplate;
    }
}